home *** CD-ROM | disk | FTP | other *** search
/ Super CD / Super CD.iso / geomitri / acad10 / dellayer.lsp < prev    next >
Lisp/Scheme  |  1988-07-15  |  1KB  |  37 lines

  1. ; ********************************************************************
  2. ;                           DELLAYER.LSP
  3.                             
  4. ;  This program deletes all entities on a specified layer.
  5.  
  6. ; ******************************************************************** 
  7.  
  8. (defun dellerr (s)                    ; If an error (such as CTRL-C) occurs
  9.                                       ; while this command is active...
  10.    (if (/= s "Function cancelled")
  11.        (princ (strcat "\nError: " s))
  12.    )
  13.    (setq S nil)                       ; Free selection-set if any
  14.    (setvar "CMDECHO" ocmd)            ; Restore saved mode
  15.    (setq *error* olderr)              ; Restore old *error* handler
  16.    (princ)
  17. )
  18.  
  19. (defun C:DELLAYER (/ olderr ocmd L S)
  20.  
  21.    (setq olderr  *error*
  22.          *error* dellerr)
  23.    (setq ocmd (getvar "CMDECHO"))
  24.    (setvar "CMDECHO" 0)
  25.    (setq L (strcase (getstring "\nLayer to delete: ")))
  26.    (setq S (ssget "X" (list (cons 8 L))))  ; Get all entities on layer
  27.    (if S
  28.       (command "ERASE" S "")          ; Delete 'em!
  29.       (princ "Layer empty or not a valid layer name.")
  30.    )
  31.    (setq S nil)                       ; Free selection-set
  32.    (setvar "CMDECHO" ocmd)            ; Restore saved mode
  33.    (setq *error* olderr)              ; Restore old *error* handler
  34.    (princ)
  35. )
  36.  
  37.